Multi-architecture Value Analysis for Machine Code
نویسندگان
چکیده
Safety verification of critical real-time embedded systems requires Worst Case Execution Time information (WCET). Among the existing approaches to estimate the WCET, static analysis at the machine code level has proven to get safe results. A lot of different architectures are used in real-time systems but no generic solution provides the ability to perform static analysis of values handled by machine instructions. Nonetheless, results of such analyses are worth to improve the precision of other analyzes like data cache, indirect branches, etc. This paper proposes a semantic language aimed at expressing semantics of machine instructions whatever the underlying instruction set is. This ensures abstraction and portability of the value analysis or any analysis based on the semantic expression of the instructions. As a proof of concept, we adapted and refined an existing analysis representing values as Circular-Linear Progression (CLP), that is, as a sparse integer interval effective to model pointers. In addition, we show how our semantic instructions allow to build back conditions of loop in order to refine the CLP values and improve the precision of the analysis. Both contributions have been implemented in our framework, OTAWA, and experimented on the Malärdalen benchmark to demonstrate the effectiveness of the approach. 1998 ACM Subject Classification F.3.2 Program analysis
منابع مشابه
Aggrandizing the beast's limbs: patulous code reuse attack on ARM architecture
Since smartphones are usually personal devices full of private information, they are a popular target for a vast variety of real-world attacks such as Code Reuse Attack (CRA). CRAs enable attackers to execute any arbitrary algorithm on a device without injecting an executable code. Since the standard platform for mobile devices is ARM architecture, we concentrate on available ARM-based CRAs. Cu...
متن کاملCompressing Word Embeddings via Deep Compositional Code Learning
Natural language processing (NLP) models often require a massive number of parameters for word embeddings, resulting in a large storage or memory footprint. Deploying neural NLP models to mobile devices requires compressing the word embeddings without any significant sacrifices in performance. For this purpose, we propose to construct the embeddings with few basis vectors. For each word, the co...
متن کاملEstimation of Plunge Value in Single- or Multi-Layered Anisotropic Media Using Analysis of Fast Polarization Direction of Shear Waves
Estimation of the fast polarization direction of shear seismic waves that deviate from horizontal axis is a valuable approach to investigate the characteristics of the lower crust and uppermost mantle structures. The lattice preferred orientation of crystals, which is generally parallel to the downward or upward flow of the mantle or crust, is an important reason for the occurrence of fast axis...
متن کاملA pipelined code mapping scheme for static data flow computers
Computers built on data Ilow principles promise efficient parallel computation limited in speed only by data dependencies in the calculation being performed. We demonstrate how the massive parallelism of array operations in numerical scientific computation programs can be effectively exploited by the fine-grain parallelism of static data flow architecture. The power of such fine-grain paralleli...
متن کاملCritical Performance Path Analysis, and Efficient Code Generation Issues, for the Seamless Architecture
An analytical study of potential pathological performance areas of the Seamless architecture is presented. Seamless is a latency-tolerant, distributed memory, multi-processor architecture. A key component of the philosophy of Seamless, however, is the use of standard, commodity components for a large part of the system. A discussion of the unavoidable implementation compromises imposed by this ...
متن کامل